Internet Protocol (IP) multicast is a method of sending IP datagrams to a group of interested receivers in a single transmission. IP multicast is a technique for one-to-many and many-to-many real-time communication over an IP infrastructure in a network. It is often employed for streaming media applications on the Internet and private networks. IP multicast uses specially reserved multicast address blocks in IPv4 and IPv6. In IPv6, IP multicast addressing replaces broadcast addressing as implemented in IPv4. In contrast to unicast, multicast only requires that the source send a packet once and that other nodes in the network replicate the packet to reach multiple receivers.
One problem associated with conventional IP multicasting is that packet forwarding devices do not proportionally scale for IP multicast forwarding entries. Specifically, while several vendor silicon solutions allow external lookup tables to house very large layer-2 MAC, IPv4+IPv6 route, and access control databases, not all allow IP multicast forwarding database extension. As the demand for improved IP multicast scaling has increased in recent years due to the adoption of multicast is use cases such as IPTV and finance-driven applications, so too has the demand for improved multicast scaling. In networks where a large number of hosts send multicast traffic to the same multicast destinations, FDB resources may become a bottleneck. As a result, subsequent FDB entries cannot be added (i.e., insertion failure). When FDB entry insertion failure occurs, CPU slowpath processing may be performed. However, because it is desirable for layer 3 forwarding devices to perform multicast forwarding quickly, it is desirable to limit the amount of slowpath processing performed. Even with advanced hashing algorithms, it is possible to hit hash bucket collisions, resulting in insertion failures, long before the entries in the IPMC FDB are consumed. For example, real-world environments often demonstrate hash bucket collisions at approximately 75% IPMC FDB table utilization.
Accordingly, in light of these difficulties, a need exists for improved methods, systems, and computer readable media for improved multicast scaling.